package cn.xeblog.plugin.tools.browser.core;

import java.awt.*;

/**
 * 浏览器服务
 *
 * @author anlingyi
 * @date 2022/8/15 2:08 PM
 */
public interface BrowserService {

  /**
   * 获取浏览器UI组件
   *
   * @return 获取的浏览器UI组件
   */
  Component getUI();

  /**
   * 加载URL
   *
   * @param url 访问地址
   */
  void loadURL(String url);

  /**
   * 后退
   */
  void goBack();

  /**
   * 前进
   */
  void goForward();

  /**
   * 重新加载当前页面
   */
  void reload();

  /**
   * 设置缩放
   *
   * @param value 缩放百分比值(负数缩小,正数放大)
   */
  void setZoomLevel(double value);

  /**
   * 浏览器关闭
   */
  void close();

  /**
   * 设置用户代理
   *
   * @param userAgent
   */
  void setUserAgent(UserAgent userAgent);

  /**
   * 添加浏览器事件监听
   *
   * @param listener
   */
  void addEventListener(BrowserEventListener listener);

}
